package com.test;

/*
public class Example01 {
    public static void main(String[] args) {
        int result = divide(4, 0);
        System.out.println(result);
    }
    // by zero
    public static int divide(int x, int y) {
        int result = x / y;
        return result;
    }
}
 */
/*
public class Example01{
    public static void main(String [] args){
        //try   catch
        try{
            int result=divide(4,0);
            System.out.println(result);
        }catch (Exception e){
            System.out.println("捕获的异常信息为:"+e.getMessage());
        }
        System.out.println("程序继续向下执行");
    }
    public static int divide(int x,int y){
        return x/y;
    }
}

 */

/*
public class Example01 {
    public static void main(String [] args){
        //try catch finally
        try{
            int result=divide(4,0);
            System.out.println(result);
        }catch (Exception e){
            System.out.println("捕获的异常信息:"+e.getMessage());
            return;
        }finally {
            System.out.println("进入finally代码块");
        }
        System.out.println("程序继续向下");
    }
    public static int divide(int x,int y){
        return x/y;
    }
}

 */

/*
public class Example01 {
    public static void main(String[] args) {
        int result = divide(4, 2);
        System.out.println(result);
    }
    public static int divide(int x, int y) throws Exception {
        return x / y;
    }
}
 */

/*
public class Example01 {
    public static void main(String[] args) {
        //下面的代码定义了一个try…catch语句用于捕获异常
        try {
            int result = divide(4, 2);   //调用divide()方法
            System.out.println(result);
        } catch (Exception e) {           //对捕获到的异常进行处理
            e.printStackTrace();          //打印捕获的异常信息
        }
    }
    //下面的方法实现了两个整数相除，并使用throws关键字声明抛出异常
    public static int divide(int x, int y) throws Exception {
        int result = x / y;      //定义一个变量result记录两个数相除的结果
        return result;            //将结果返回
    }
}

 */

/*
public class Example01 {
    // 定义printAge()输出年龄
    public static void printAge(int age) throws Exception {
        if(age <= 0){
            // 对业务逻辑进行判断，当输入年龄为负数时抛出异常
            throw new Exception("输入的年龄有误，必须是正整数！");
        }else {
            System.out.println("此人年龄为："+age);
        }
    }
    public static void main(String[] args)  {
        // 下面的代码定义了一个try…catch语句用于捕获异常
        int age = -1;
        try {
            printAge(age);
        } catch (Exception e) {  // 对捕获到的异常进行处理
            System.out.println("捕获的异常信息为：" + e.getMessage());
        }
    }
}

 */


/*
class DivideByMinusException extends Exception{
    public DivideByMinusException(){
        super();        // 调用Exception无参的构造方法
    }
    public  DivideByMinusException(String message){
        super(message);     // 调用Exception有参的构造方法
    }
}

public class Example01{
    public static void main(String [] args){
        int result=divide(4,-2);
        System.out.println(result);
    }
    public static int divide(int x,int y){
        if(y<0){
//            throw new DivideByMinusException("除数是负数");
        }
        int result=x/y;
        return result;
    }
}
 */

